﻿using SportsPlatform.Dto.PermissionManagement.RoleInfo;
using SportsPlatform.Base;
using SportsPlatform.Query.PermissionManagement.BaseQuery;
using SportsPlatform.Query.PermissionManagement.RoleInfo;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.PermissionManagement.IPermissionManagement
{
    /// <summary>
    /// 角色信息表
    /// </summary>
    public interface IRoleInfoService
    {
        /// <summary>
        /// 根据Id查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<ResultDto<GetRoleInfoDto>> GetRoleInfo(DeleteOrGetModelQuery query);

        /// <summary>
        /// 分页获取角色信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<PagePagingDto<GetRoleInfoPageDto>> GetRoleInfoPage (GetRoleInfoPageQuery query);

        /// <summary>
        /// 获取角色名称集合
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<ResultListDto<GetRoleNameListDto>> GetRoleNameList(GetRoleNameListQuery query);

        /// <summary>
        /// 新增信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> AddRoleInfo(AddRoleInfoQuery query);

        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateRoleInfo(UpdateRoleInfoQuery query);

        /// <summary>
        /// 根据Id删除信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> DeleteRoleInfo(DeleteOrGetModelQuery query);

        /// <summary>
        /// 批量/单个更改用户状态
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<BaseResultDto> RoleInfoBatchChangeOfStatus(RoleInfoBatchChangeOfStatusQuery query);
    }
}
